﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using BLL;
using VOL;

namespace WebQuyPhong.Admin
{
    public partial class ChiQuyForm : System.Web.UI.Page
    {
        ChiQuyBL _chiQuyBLL = new ChiQuyBL();

        int IDCHI = 0;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                FillData();

                string _IdChi = Request.QueryString["IDCHI"];

                if (_IdChi == null || _IdChi == "" || !int.TryParse(_IdChi, out IDCHI))
                {
                    hdfIDCHI.Value = "0";
                }
                else
                {
                    CHIQUY obj = new CHIQUY();
                    DateTime ntnchi = new DateTime();

                    obj.IDChi = IDCHI;

                    DataTable dt = _chiQuyBLL.searchIDCHI(obj);

                    txtNoiDungChi.Text = dt.Rows[0]["NOIDUNGCHI"].ToString();

                    txtSoTienChi.Text = dt.Rows[0]["SOTIENCHI"].ToString();

                    ddlCanBo.SelectedValue = dt.Rows[0]["IDCANBOCHI"].ToString();

                    ntnchi = DateTime.Parse(dt.Rows[0]["NTNCHI"].ToString().Substring(0, 10));
                    txtNgayChi.Text = ntnchi.ToString("yyyy-MM-dd");

                    txtGhiChu.Text = dt.Rows[0]["GHICHU"].ToString();

                    hdfIDCHI.Value = _IdChi;
                }
            }
        }

        private void FillData()
        {
            DMCanBoBL _dmCanBoBl = new DMCanBoBL();

            ddlCanBo.DataSource = _dmCanBoBl.GetDataCB();
            ddlCanBo.DataValueField = "IDCANBO";
            ddlCanBo.DataTextField = "HOTEN";
            ddlCanBo.DataBind();
            ddlCanBo.Items.Insert(0, "- Vui lòng Chọn -");
        }

        protected void btnSave_Click(object sender, EventArgs e)
        {
           CHIQUY obj = new CHIQUY();
           QuyPhongBL objquyphong = new QuyPhongBL();
           bool ktquyphong = false;

            string _IdChi = hdfIDCHI.Value;
           if (_IdChi == null || _IdChi == "0")
            {
                // thực hiện thêm mới
                obj.NoiDungChi = txtNoiDungChi.Text;
                obj.SoTienChi = float.Parse(txtSoTienChi.Text);
                obj.IDCanBoChi = int.Parse(ddlCanBo.SelectedValue);
                obj.NgayChi = int.Parse(txtNgayChi.Text.Substring(8,2));
                obj.ThangChi = int.Parse(txtNgayChi.Text.Substring(5, 2));
                obj.NamChi = int.Parse(txtNgayChi.Text.Substring(0, 4));

                obj.NTNChi = DateTime.Parse(txtNgayChi.Text);
                obj.GhiChu = txtGhiChu.Text;

               //kiem tra quy con du so tien de chi hay ko, neu du thi insert ko thi quay ve trang lai
               float quyphongconlai = objquyphong.GetSotienQPCLai(int.Parse(txtNgayChi.Text.Substring(0, 4)));

               if (float.Parse(txtSoTienChi.Text) > quyphongconlai)
               {
                   ktquyphong = true;

               }
               else _chiQuyBLL.InsertData(obj);

                //LẤY SỐ TIỀN CHI TỔNG
                float sumsotienchi = _chiQuyBLL.GetSumSotienChi(int.Parse(txtNgayChi.Text.Substring(0, 4)));

                //cập nhật lại bảng quỹ phòng
                _chiQuyBLL.UpdateQuyPhong(int.Parse(txtNgayChi.Text.Substring(0, 4)), sumsotienchi);
            }
            else
            {
                // thực hiện sửa
                obj.IDChi = int.Parse(_IdChi);
                obj.NoiDungChi = txtNoiDungChi.Text;
                obj.SoTienChi = float.Parse(txtSoTienChi.Text);
                obj.IDCanBoChi = int.Parse(ddlCanBo.SelectedValue);
                obj.NgayChi = int.Parse(txtNgayChi.Text.Substring(8, 2));
                obj.ThangChi = int.Parse(txtNgayChi.Text.Substring(5, 2));
                obj.NamChi = int.Parse(txtNgayChi.Text.Substring(0, 4));

                obj.NTNChi = DateTime.Parse(txtNgayChi.Text);
                obj.GhiChu = txtGhiChu.Text;


                //kiem tra quy con du so tien de chi hay ko, neu du thi insert ko thi quay ve trang lai
                float quyphongconlai = objquyphong.GetSotienQPCLai(int.Parse(txtNgayChi.Text.Substring(0, 4)));

                if (float.Parse(txtSoTienChi.Text) > quyphongconlai)
                {
                    ktquyphong = true;

                }
                else _chiQuyBLL.UpdateData(obj);

                //LẤY SỐ TIỀN CHI TỔNG
                float sumsotienchi = _chiQuyBLL.GetSumSotienChi(int.Parse(txtNgayChi.Text.Substring(0, 4)));

                //cập nhật lại bảng quỹ phòng
                _chiQuyBLL.UpdateQuyPhong(int.Parse(txtNgayChi.Text.Substring(0, 4)), sumsotienchi);
            }

             if (ktquyphong == true)
            {
                Response.Write("<script LANGUAGE='JavaScript' >alert('Số tiền chi quá số tiền còn hiện tại của quỹ phòng!');document.location='" + ResolveClientUrl("~/Admin/ChiQuyForm.aspx") + "';</script>");
            }
            else
                Response.Redirect("~/Admin/ChiQuyManager.aspx");
        }
    }
}